The present invention relates generally to communication systems and more particularly relates to an automatic gain control circuit incorporating a Kalman filter in the feedback loop.
Automatic Gain Control (AGC) circuits are widely used in numerous applications to automatically adjust the level of an input signal to a desired value. Consider a system wherein an amplifier that is part of an AGC circuit functions to generate an output signal by amplifying an analog input signal. The analog output signal is to be converted to its digital equivalent using an A/D converter. Consider also that the input signal is subject to large power variations such as in the case when the signal is derived from a bursty communication medium. In this case, the goal is to properly determine the gain of the amplifier such that the dynamic range of the A/D converter is best utilized.
A block diagram illustrating a prior art automatic gain control (AGC) circuit is shown in FIG. 1. The AGC circuit, generally referenced 10, comprises a variable gain amplifier 12, A/D converter 14, discriminator 20, summer 18 and loop filter 16. The discriminator 20 functions to calculate the logarithm of the output voltage vout. This is common practice in AGC circuits to enhance performance by enabling the circuit to work in the logarithmic, i.e. decibel (dB). domain.
The reference quantity R0 26 is specified by the requirements of the particular AGC implementation and represents the nominal level of the signal at the AGC output. From the point of view of the loop filter, it shifts the gain by a fixed amount. The reference quantity R0 is subtracted from the output of the discriminator 20 and the difference is input to the loop filter 16. The loop filter functions to generate the gain gn 22.
The purpose of the AGC circuit is to maintain the signal at the input to the A/D converter at an approximately constant level by controlling the gain of the variable gain amplifier placed before the A/D converter.
Typically, a low pass filter is used in the feedback loop in an AGC circuit to reduce the fluctuations in gain (i.e. to generate an average gain). The characteristics of the low pass filter are typically time invariant. Thus, the low pass filter in the AGC feedback loop can be designed to be either wide or narrow, making the AGC either fast or slow. A slow AGC is an AGC that is narrow in terms of frequency. It is better for continuous transmissions since it performs an average of the signal over a longer period of time, is less sensitive to noise and has less gain ripple. A narrow AGC, however, is characterized by poor tracking in that it has more difficulty following quick changes in the level of input signal.
A fast AGC circuit is an AGC circuit that is wide in terms of frequency. It averages the input signal over a shorter period of time, is more sensitive to noise and has a relatively large ripple in its gain.
On the other hand, in burst type communications, it is desirable to keep the gain fixed during the message. It is also desirable to maintain the gain of the signal between packets at a certain level in order to be able to process it. Thus, the AGC circuit is ideally able to quickly adapt to fast changes in the input.
As is the case with most prior art AGC circuits, the bandwidth of the loop gain is much less than that of the signal itself. Variations in loop gain occur much slower than those in the input signal. Note that if the loop gain were equal to the input signal gain, the output of the AGC circuit would be a flat signal.
In many communication systems, it is desirable that the gain of the AGC not change during reception of the information message and during the noise periods as well. This is because the receiver may learn the noise characteristic between packet transmissions. Therefore, adjustments to the gain should occur only during transients between packets and noise periods. This leads to the following contradictory requirements.
The response of the AGC to low to high transitions of the signal level (i.e. the start of a packet) should be very fast. Thus, the AGC feedback loop should be very fast during the noise periods.
The optimum use of the dynamic range of the A/D converter entails maintaining an approximately constant signal level at the output of the AGC circuit. From the above, however, the gain adjustment should only be made during packet/noise period transitions. The precision of the gain setting is thus affected as a result of the constraint of fast adjustment.
Prior art AGC circuits are configured such that their characteristics are fixed, i.e. the circuit operates as a either fast or slow AGC. This, however, may result in unacceptable performance because the requirements described above cannot be satisfied.
A solution to this problem is to detect the beginning of the packet and upon detection to make the AGC loop fast (i.e. wide in frequency) in order to enable quick acquisition. This is followed by a narrowing of the loop gain in order to enable good tracking.
The problem typically encountered in such a system is how to detect the change in input signal level and to optimally perform the transition from wide to narrow loop filtering.
Accordingly, the present invention provides a novel and useful apparatus for and method of automatic gain control (AGC) using Kalman filtering. The present invention is suitable for use in a wide range of applications and is particularly useful in controlling the gain of the signal received over wired or wireless channels such as power line based channels.
The feedback loop of the AGC circuit of the present invention comprises a Kalman filter augmented by the addition of a non-linear restart mechanism. The circuit is able to transition quickly and make fast adaptations to new levels of the input. It has been found that a Kalman filter is an optimal way in which to estimate the signal. It provides for fast and accurate adaptations to the level of the input signal. The gain of the Kalman filter controls how fast or slow averaging of the signal is performed. A key feature of the present invention is the mechanism used to set the Kalman gain Kn in an optimal manner. Further, unlike in the prior art, Kalman filtering is used in the present invention in other than the steady state portion of the input signal. Specifically, it is used during acquisition and tracking of the input signal during transient portions of the input.
The input signal is modeled as a stochastic process and the function of the AGC circuit is to try to estimate the level of this signal. The feedback loop comprises a mechanism to detect the level of the signal and use it in generating the gain of the AGC loop.
Three embodiments are presented. The first is an AGC circuit with Kalman filtering which employs a restart mechanism. The restart mechanism enables the AGC circuit to quickly adapt to changes in the signal level of the input. It is used to dynamically modify the gain of the Kalman filter. A restart is triggered when the average of a plurality of previous samples of the AGC output either exceeds an upper threshold or is smaller than a lower threshold. The gain values output by the mechanism can be computed a priori and stored in a table for look up during operation.
It is assumed that the signal power during reception of information packets does not change much as in the case of relatively unchanging channel conditions while the bulk of the gain adjustments occur during transients. The transients are detected by reference to the steady state signal level of the output signal.
A second embodiment comprises an AGC circuit incorporating hysteresis in the feedback loop. The hysteresis circuit is operative to split the loop gain into a feedforward gain and a complementary feedback gain. The hysteresis appears in the feedforward gain only. The feedback gain is used to remove the effects of hysteresis from the AGC output signal before it is fed back to the loop filter, thus making the feedback loop as a whole unaware of the existence of the hysteresis.
A third embodiment comprises an AGC circuit incorporating a combination of Kalman filtering with the restart mechanism and hysteresis. The feedback loop in this AGC circuit is operative to apply hysteresis to the loop gain generated by the Kalman filter. The method of performing hysteresis with restart is described along with an example circuit.
In addition, an embodiment is presented illustrating an application example wherein the AGC circuit of the present invention is used in a communications receiver.
An embodiment is also presented wherein the AGC circuit is implemented in firmware or software for execution on a computing platform. Many aspects of the invention described herein may be constructed as software objects that execute in embedded devices as firmware, software objects that execute as part of a software application on a computer system running an operating system such as Windows, UNIX, LINUX, etc., an Application Specific Integrated Circuit (ASIC), Field Programmable gate Array (FPGA) or functionally equivalent discrete hardware components.
There is thus provided in accordance with the present invention an automatic gain control (AGC) circuit, comprising an amplifier adapted to receive an input signal and to generate an amplified output signal in accordance with a gain control signal, a Kalman filter connected to the amplifier in a feedback loop configuration, the Kalman filter operative to generate a Kalman gain signal in response to the level of the output signal, the Kalman filter comprising a restart mechanism operative to detect sharp transitions in the output signal level and in response thereto, restart the Kalman filter and a control circuit adapted to filter the Kalman gain signal so as to generate the gain control signal.
There is also provided in accordance with the present invention an automatic gain control (AGC) circuit, comprising an amplifier adapted to receive an input signal and to generate an amplified output signal in accordance with an feedforward gain control signal, a loop filter connected to the amplifier in a feedback loop configuration, the loop filter operative to generate a loop gain signal in response to the level of a modified output signal and a hysteresis mechanism operative to apply hysteresis to the loop gain signal and as a result thereof, to generate the feedforward gain control signal and an feedback gain control signal and means for removing the effects of hysteresis generated by the hysteresis mechanism so as to generate the modified output signal.
There is further provided in accordance with the present invention a method of automatic gain control (AGC), the method comprising the steps of amplifying an input signal so as to generate an amplified output signal in accordance with an feedforward gain signal, processing a modified output signal through a Kalman filter located in a feedback loop so as to generate a Kalman gain signal in response to the level of the modified output signal, restarting the Kalman filter in response to the detection of sharp transitions in the output signal level, filtering the Kalman gain signal and generating a loop gain signal in response thereto, applying hysteresis to the loop gain signal and as a result thereof, generating the feedforward gain control signal and an feedback gain control signal and removing the effects of hysteresis from the output signal to generate the modified output signal.
There is also provided in accordance with the present invention a communications receiver for receiving and decoding an M-ary transmitted signal transmitted over a channel having an impulse response hi comprising a front end circuit for receiving and converting the M-ary transmitted signal to a baseband signal, a demodulator adapted to receive the baseband signal and to generate a received signal therefrom in accordance with the M-ary modulation scheme used to generate the transmitted signal, an automatic gain control (AGC) circuit operative to receive the received signal and to generate an output signal therefrom, the AGC circuit comprising processing means programmed to amplify the received signal so as to generate an amplified output signal in accordance with an feedforward gain signal, process a modified output signal through a Kalman filter located in a feedback loop so as to generate a Kalman gain signal in response to the level of the modified output signal, restart the Kalman filter in response to the detection of sharp transitions in the output signal level, filter the Kalman gain signal and generating a loop gain signal in response thereto, apply hysteresis to the loop gain signal and as a result thereof, generating the feedforward gain control signal and an feedback gain control signal, remove the effects of hysteresis from the output signal to generate the modified output signal, an equalizer operative to receive the received signal and to generate a sequence of soft symbol decisions therefrom, a decoder adapted to receive the soft symbol values and to generate binary received data therefrom and wherein M is a positive integer.
There is still further provided in accordance with the present invention a computer readable storage medium having a computer program embodied thereon for causing a suitably programmed system to automatically control the gain of an input signal by performing the following steps when such program is executed on the system: amplifying the input signal so as to generate an amplified output signal in accordance with an feedforward gain signal, processing a modified output signal through a Kalman filter located in a feedback loop so as to generate a Kalman gain signal in response to the level of the modified output signal, restarting the Kalman filter in response to the detection of sharp transitions in the output signal level, filtering the Kalman gain signal and generating a loop gain signal in response thereto, applying hysteresis to the loop gain signal and as a result thereof, generating the feedforward gain control signal and an feedback gain control signal and removing the effects of hysteresis from the output signal to generate the modified output signal.